package com.itheima.api.bigdecimal.demo01;

public class BigDecimalDemo01 {

    public static void main(String[] args) {

        System.out.println(0.09 + 0.01);            // 0.09999999999999999

        /**
         * 计算结果为什么不是0.1？
         * 我们计算机在进行运行的时候底层使用的都是二进制数据进行运算。二进制数据，逢二进一的数据 ; 二进制数由： 0, 1组成
         * 那么我们在程序中如果写了一个10进制的数据，那么在进行运算的时候计算机会将这个10进制的数据转换成二进制数据，进行计算；那么计算完毕以后
         * 会将这个二进制的结果在转换成10进行数据给我们进行显示；那么如果我们程序中使用的是一个整数类型的数据，那么在进行转换的时候，计算机会将
         * 这个数据进行精确转换； 但是如果我们的程序使用的是浮点类型的数据，由于存储机制的原因，那么就能进行精确的转换，而使用使用一个无限接近于
         * 这个数二进制进行表示；因此就会存在一部分数据的丢失，这就是精度问题。
         *
         * 那么为了进行方便浮点数据的运算，java就给我们提供了一个类，这个类就是BigDecimal。
         *
         */

    }

}
